package com.trigsoft.applist;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class PinyinTransformer
{
	public static String getPingYin(String src)
	{

		char[] t1 = null;
		t1 = src.toCharArray();
		String[] t2 = new String[t1.length];
		HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
		t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		t3.setVCharType(HanyuPinyinVCharType.WITH_V);
		String t4 = "";
		int t0 = t1.length;
		try
		{
			for (int i = 0; i < t0; i++)
			{
				//判断是否为汉字字符
				if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+"))
				{
					t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
					t4 += t2[0];
				} else if (t1[i] != ' ')
					t4 += java.lang.Character.toString(t1[i]);
			}
			//Log.d("test", src + "," + t4);
			return t4.toLowerCase();
		} catch (BadHanyuPinyinOutputFormatCombination e1)
		{
			e1.printStackTrace();
		}
		return t4;
	}

	public static String getPingYinInitial(String src)
	{

		char[] chArr = src.toCharArray();
		char t1 = ' ';
		for (char c : chArr)
			if (c != ' ')
			{
				t1 = c;
				break;
			}

		String[] t2 = new String[1];
		HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
		t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		t3.setVCharType(HanyuPinyinVCharType.WITH_V);
		String t4 = "";
		try
		{
			//判断是否为汉字字符
			if (java.lang.Character.toString(t1).matches("[\\u4E00-\\u9FA5]+"))
			{
				t2 = PinyinHelper.toHanyuPinyinStringArray(t1, t3);
				t4 = t2[0];
			} else if (t1 != ' ')
				t4 = src;

			//Log.d("test", src + "," + t4);
			return t4.toLowerCase();
		} catch (BadHanyuPinyinOutputFormatCombination e1)
		{
			e1.printStackTrace();
		}
		return t4;
	}
}
